package org.example.musicproject.service;

import org.example.musicproject.entity.Song;

import java.sql.Connection;
import java.util.List;

/**
 * 创建人:黄庭萍
 * 创建时间: 2024/12/16 19:42
 * 创建类型: SongService
 */
public interface SongService {
    /**
     * 查询所有歌曲信息
     * @return 返回歌曲信息集合
     */
    List<Song> findAll();

    /**
     * 根据id查询歌曲信息
     * @param soid 歌曲id
     * @return 返回一条歌曲信息
     */
    Song byId(int soid);

    /**
     * 添加歌曲信息(查询所有评论编号)
     * @param song 歌曲信息实体类
     * @return 返回自动编号
     */
    long add(Song song,int[] cids);

    /**
     * 修改歌曲信息后保存
     * @param song 歌曲信息实体类
     * @return 返回受影响行数
     */
    int update(Song song);

    /**
     * 修改vip状态
     * @param soid 歌曲信息id
     * @param isVip 0不收费 1收费
     * @return 返回受影响行数
     */
    int isVips(int soid,boolean isVip);

    /**
     * 根据关键字查询歌曲信息(模糊查询)
     * @param key 关键字
     * @return 返回歌曲信息集合
     */
    List<Song> bykey(String key);

    /**
     * 查找最受欢迎的歌曲（基于播放次数）
     * @param num 播放次数
     * @return 返回受影响行数
     */
    List<Song> number(int num);
}
